#include "MenuHandler.h"
#include "InterFace.h"
#include <iostream>

using namespace std;

// 显示登录界面，获取用户名和密码
void MenuHandler::showLoginMenu(std::string &username, std::string &password)
{
    showLoginInterface();
    cout << "请输入用户名: ";
    getline(cin, username);
    cout << "请输入密码: ";
    getline(cin, password);
}

// 显示主菜单并处理用户选择
void MenuHandler::showMainMenu(const std::string &role, const std::vector<std::function<void()>> &options)
{
    if (role == "admin")
    {
        showAdminInterface();
    }
    else
    {
        showUserInterface();
    }
    int choice;
    cout << "请输入您的选择: ";
    cin >> choice;
    cin.ignore(); // 清除输入缓冲区

    if (choice >= 1 && choice <= static_cast<int>(options.size()))
    {
        options[choice - 1]();
    }
    else
    {
        showMessage("无效的选择，请重新输入！");
    }
}
// 显示权限不足信息
void MenuHandler::showPermissionDeniedMessage()
{
    cout << "权限不足，无法执行此操作！" << endl;
}

// 显示消息
void MenuHandler::showMessage(const std::string &message)
{
    cout << message << endl;
}

void MenuHandler::clearScreen()
{
    std::cout << "\033[2J\033[1;1H";
}
